import java.util.Arrays;
import java.util.Scanner;

public class text2 {
    /*给你两个整数数组 arr1 ， arr2 和一个整数 d ，请你返回两个数组之间的 距离值 。
    「距离值」定义为符合此距离要求的元素数目：对于元素 arr1[i] ,
     ，没有元素 arr2[j] 满足 |arr1[i]-arr2[j]| <= d 。
     */
    public static int comparenumber(int[]arr1,int[]arr2,int d) {
        Arrays.sort(arr2);
        int n=arr1.length;
        int m=arr2.length;
        int count=0;
        for(int i=0;i<n;i++){
            boolean flag=true;
            int left=0,right=m-1;
            while(left<=right){
                int mid=left+(right-left)/2;
                if(Math.abs(arr1[i]-arr2[mid])<=d){//检验是否全部符合
                    flag=false;
                    break;
                }
                //调整范围
                 if(arr2[mid]<arr1[i])
                     left=mid+1;
                 else right=mid-1;
            }
            if(flag)count++;
        }
        return count;
    }
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n=sc.nextInt();
        int d=sc.nextInt();
        int[]arr1=new int[n];
        for(int i=0;i<n;i++){
            arr1[i]=sc.nextInt();
        }
        int m=sc.nextInt();
        int[]arr2=new int[m];
        for(int i=0;i<m;i++){
            arr2[i]=sc.nextInt();
        }
        int resultnumber=comparenumber(arr1,arr2,d);
        System.out.println(resultnumber);
        sc.close();
    }
}
